今天結膜炎,看完醫生整個白天都躺在床上眼睛癢得要死動不了,晚餐後好一點,寫一點昨天缺漏的小東西
講個優惠券設定的小故事,疫情升3級後被趕到城市另一邊的大樓上班,那邊有很便宜的果汁,還有不少老店,大概是疫情加上數位轉型的迫切吧,有些老店紛紛導入數位會員制與線上訂餐,一整個現代了起來,但不知道是不是賣給它們這套系統的Oxxard業務沒有教好它們要怎麼用,於是發生一些良心被譴責但又覺得好爽的事情
新會員見面禮很常見吧,通常都是一些不痛不癢的東西,什麼9折阿,送小菜之類的,但不知道這家老店是發了什麼瘋,直接送等值一百元的抵用券,哇爽爆了,要知道一個今日便當才99元,而且該店也算是當地的名店,便當不錯吃,店員熱情的招呼我們說加會員送100元,本來還想說一定會有什麼限制吧,結果真的是送一百元,不僅不用加錢超過面額,也沒有任何附加條件,如果你買99元的今日便當,等於免費送便當,好,好喔,更奇妙的還是後頭,這個新會員見面禮居然是一個月送一張的,握草,一個月送你一百元的店家,吃爆,吃了幾個月店員都認出來了,但每個月都用新會員見面禮,店員真的不覺得奇怪嗎.....
加入一個新函數QUY_CPN(self, id, cptype),查詢該類型的優惠券列表
def QUY_CPN(self, id, cptype):
cur = self.conn.cursor()
query = sql.SQL("SELECT * from coupon WHERE %s = ANY (userids) and type = %s").format(sql.Identifier('coupon'))
cur.execute(query, (id, cptype))
r = cur.fetchall()
cur.close()
return r
修改FollowEventHandler
def timedelta_bydays(self, days=7):
s_time = datetime.now().isoformat()
e_time = (datetime.now() + timedelta(days=days)).isoformat()
return s_time, e_time
def gencode(self, mode=0):
import string, random
if(mode == 0):
return ''.join(random.SystemRandom().choice(string.ascii_uppercase + string.digits) for _ in range(8))
def INS_CPN(self, id, cptype):
if(cptype == "new" or cptype == "back"):
code = self.gencode()
s_time, e_time = self.timedelta_bydays(days=7)
cur = self.conn.cursor()
id = '{' + id + '}'
query = sql.SQL("INSERT INTO {}(type, code, s_time, e_time, times, userids) VALUES (%s, %s, %s, %s, %s, %s);").format(sql.Identifier('coupon'))
cur.execute(query, (cptype, code, s_time, e_time, str(1), id))
self.conn.commit()
cur.close()
return 1, code
else:
print()
return 0, "placeholder Due no coupon"
@handler.add(FollowEvent)
def handle_follow(event):
prof = line_bot_api.get_profile(event.source.user_id)
r = dbpm.INS_UPD_cus(prof)
if r == 1:
msg = "Hello 歡迎鐵人賽的勇者"
cpl = dbpm.QUY_CPN(event.source.user_id, "new")
if(cpl and len(cpl) > 0):
app.logger.debug(f"已經發過優惠券:{cpl}")
else:
cr, code = dbpm.INS_CPN(event.source.user_id, "new")
if(cr == 1):
msg = msg + f"\n這是您的好友見面禮:{code}"
else:
msg = "Hello 歡迎鐵人賽的勇者回來"
cpl = dbpm.QUY_CPN(event.source.user_id, "back")
if(cpl and len(cpl) > 0):
app.logger.debug(f"已經發過優惠券:{cpl}")
else:
cr, code = dbpm.INS_CPN(event.source.user_id, "back")
if(cr == 1):
msg = msg + f"\n這是您的回歸小禮物:{code}"
line_bot_api.reply_message(
event.reply_token,
TextSendMessage(text=msg))
等眼睛好一點,趕快寫完訂單頁面.....